add profile functionality

will probably remake with AJAX