Move some code around to better separate front/backend