passes base tests but needs dp and clean up