included all methods
added basic comments