added previously implemented stuff from lab