Form-Based Codes