some params are better represented as types
found a format I'm satisfied with