initial implementation, partial review, and partially working