support for magic serialization methods + thrown types in method signatures + refac