two methods work