some code removed