redo some methods