make it more elegant