Most of receiving functionality