split methods for reuse