fixing usages of [] instead of List<>, moving defaults for endpoints to endpointContract
adding sane-default purification of endpoints