break into modules
add pandoc dependency