throw exceptions
fix wrong truncate