Refactored alot, added EmptyDataAdapter