simplified methods, removed duplication