markdown implementation in golang