created a stand-alone version