updated basic functionaity