it can pass specs
remove unused codes