fixed basic functionality