Set up additional package structure
Reformatted the code
Added AMD support