Solved must of required enhancements