using private interface instead of categories for private methods