completely reworked contacts functionality