frontend-y stuff

will cleanup