refactored templated functions into non-templated versions, removed exceptions and exception handling, changed source file names