prototype close to complete
Almost there