profile and matches mostly implemented