conversion: a lot of changes going on for a concept based library allowing overloading of the provided functions.