skeleton for faster solution