Refactor and add hard courses