Big cleaning, types from implementation to interface