added more basic functionality