refactored with Hapi 8.0, unit & acceptance testing