fixed a few bugs and changed the way we handle no data