restructred to fit within classes. quick test to show its working. need to retrofit specs