Resource interfaces instead templates