reorganize features and implement login requirements