J: Phase 2 (still need to fix some errors)