some optimation's