initial markdown implementation