[1st code clean]