updated with current state of project + more thoroughly following reference benchmark