Review

WIP: still need to add more comments