open functions