some code format and some of redunadant methods deleted