extracted hateaos client into own module