More functions implemented. Need to relocate some from the helper to the processor.