library files and function names changed according to future need
started implementing iterator