realise basic functions