exported functions