Version 1.0

#todo needs to be generalized/templated.