final code + data