implemented missing methods, should now move on to testing phase
added some comments or whatever