adding functional module