What principle is it based on