added close()