This has the complete feature. Needs debug code removal