Major Refactor + Portable