factoring out functionality into different prototype members, that will be executed sequentially