core functionalities done ( get I/O write it to a file )
ignore this