this function needed to be shorter anyway