implement $ and %