add parse and read methods