cleaner implementation...need to comment