basic functionality works now