completed implementation, needs QA/testing