first SRM solution (VS)

deviated from guidelines a bit as their class design was strange. yet to
submit so there will probably be quite a bit wrong with it