poor translations added by me