change adapter interfaces to return optional type
add support for basic resource routing