trying to differentiate between public and private methods, will be going another direction
got rid of the interface merger, it was a bad idea :P