Basic implementation complete, needs moar work!