start implementing generic profile