properly structured app