first working version, frontend checking, no backend checking