Refactor, add shortdesc support