adding the first pass at the code