final commit for all functionality