try to make it faster!