added coverage and additional tests