this works, use this branch to add styling and everything else