Abstract solution I

Abstract solution I