created classes
added comments for understanding syntax