updated with latest module changes and example