rudiments of di interface
trans partly implemented