move route to something (hopefully) more RESTful, some deeper refactoring