client methods