Finished with basic input implementation