reduced redundant methods