I think it works now. Just parser to implement.