use sync methods for simplicity