Implement settings page (basic form) + refactoring