example 11-4: application module