Implements and Closes #5