Better parser and normal shifting fully implemented