Updated to use just one directive and take options.