some functions optimize
Merge remote branch 'halaszk/master'