Separation of projects

- logic in assembly
- implementation in different project (currently Windows only)