updated all documentation. still need diagram.