First full version (?) Still needs aesthetics work