fully functional
solved cyclic references