attempt of furher optimization