move implementation classes to a 'details' subdirectory