what the heck, manual serialization! :D