Bug fixes & optimisation