initial code tested on Ubuntu machine