further implementation classes