implemented open & release