Opt Final

This is the cleaned up version of #34 awaiting review.