add snakeyaml dependency
make type system more robust
begin full implementation of endpoints