add module purchase implementation