USED- tested and functional