adding contact backend logic