skeleton for component