implemented new callbacks