added some todo's, improved description of derivation at the end