implemented unfinished tests