implemented signup, needs testing