not use apache commons