basic functionality and user flow built