useful structures which are already available in other languages