Epsilon-freeing works, got space for improvement though.