added many more helper methods