Clean up & better functionality