code optimized
code fixed