almost all methods