Alpha phase... The code will look terrible.