TODO gather contacts functionality in a single place in service layer