branches/fault: code refactoring (moved framework independent reusable codes to casros)