same code clean up