introducing overloaded functions

:exclamation: Please apply this after PR #27 :exclamation: 

I've added some overloaded functions to circumvent some `dynamic_cast`s when the input parameters are already of the desired type.