Synchronized, all methods are imlemented