not as clean as i expected it to be