all 'necessary' features implemented\!