basic frontend completed