basic functionality tested and working