it compiles!
merged and then fixed with ideas
lint'd