initial project commit with working code--need some improvements