add more formats
fix several bugs, still unusable