slightly changes & add commends