reorginizing for custom interface
More restructuring