Updated with new naming and  some new structure her and there