add profile functionality