add working for most part