Added implementation and privates extensions