initial commit of code - definitely not complete