add docs, reorg code, prepare for release 1
reorg files, prepare for release 1