begins implementing user actions