Implement ~