Worked on it a bit, not completely finished, but will commit what I have