Massive overhaul, started using APR